home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
midi
/
gfft.lha
/
gfft-2.03
/
source
/
gfft-2.03-source.lha
/
settings.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-01-02
|
6KB
|
183 lines
/***************************************************************************
* Copyright (C) 1994 Charles P. Peterson *
* 4007 Enchanted Sun, San Antonio, Texas 78244-1254 *
* Email: Charles_P_Peterson@fcircus.sat.tx.us *
* *
* This is free software with NO WARRANTY. *
* See gfft.c, or run program itself, for details. *
* Support is available for a fee. *
***************************************************************************
*
* Program: gfft--General FFT analysis
* File: settings.h
* Purpose: define or declare settings
* Author: Charles Peterson (CPP)
* History: 31-May-1993 CPP; Created.
* 9-Aug-94 CPP (1.10); Hidden3D setting
* 28-Aug-94 CPP (1.12); fix LowFrequency for FFP
* 7-Jan-95 CPP (1.19); Moved types to gfft.h for port
* 19-Jan-95 CPP (1.21); Topaz command
* Comment: Options are defined here if DEFINEHERE is defined.
* *.c should undefine DEFINEHERE afterwards
*/
#include <stdio.h> /* This is needed below for FILE* */
#include <limits.h> /* ULONG_MAX and LONG_MAX */
#include <float.h> /* DBL_MAX */
#include "defxtern.h" /* DEFXTERN */
/*
* Definitions
*/
#define RECTANGLE_WINDOW 0
#define TRIANGLE_WINDOW 1
#define PARZEN_WINDOW 2
#define WELCH_WINDOW 3
#define HANN_WINDOW 4
#define HAMMING_WINDOW 5
#define BLACKMAN_HARRIS_74DB_WINDOW 6
#define BLACKMAN_HARRIS_92DB_WINDOW 7
#define FORWARD_FFT 1
#define INVERSE_FFT 2
#define POWER_SPECTRUM 4
#define AMPLITUDE_SPECTRUM 8
#define MEAN_NORMALIZATION 16
#define TWO_SIDED 32
#define INPUT_FORMAT_DEFAULTS {DEFAULT_INPUT_ZERO,DEFAULT_INPUT_BITS,\
DEFAULT_INPUT_BINARY}
#define OUTPUT_FORMAT_DEFAULTS {DEFAULT_OUTPUT_ZERO,DEFAULT_OUTPUT_BITS,\
DEFAULT_OUTPUT_BINARY}
#define NO_PLOT 0
#define GNUPLOT_PLOT 1
#define ANY_PLOT 1
#define AUTO_RATE 0.0L /* This never-valid rate means 'automatic' */
#define INVALID_RATE DBL_MAX /* This unuseable rate means 'invalid' */
#define MAX_BINS -1L /* This unuseable value means 'maximum' for file */
#define INVALID_BINS -2L /* This unuseable value means 'invalid' */
#define INVALID_INTERLEAVE ULONG_MAX /* This means 'invalid' */
#define NO_SMOOTHING -1L /* Do not perform smoothing */
#define INVALID_SMOOTHING -2L /* User last set invalid value */
#define NOT_SET -1
#define INVALID_SET -2
#define DEFAULT_TIME_OVERLAP 0.50
#define HIGHEST_FREQUENCY DBL_MAX
/* #define LOWEST_FREQUENCY DBL_MIN * problem with FFP; 0 == DBL_MIN */
#define LOWEST_FREQUENCY -1.0
#define HIGHEST_Y DBL_MAX
#define LOWEST_Y DBL_MIN
#define MIN_QUANTIZATION DBL_MIN
#define BAD_QUANTIZATION DBL_MAX
#define DEF_ROT_X 60.0
#define DEF_ROT_Z 30.0
#define INVALID_ROTATION -361.0
/*
* FileFormat info needed in this scope
*/
#define UNFORMATTED 0
/*
* These options are set directly by interactive/batch commands
*/
DEFXTERN (BOOLEAN, Amplitude, TRUE)
DEFXTERN (BOOLEAN, Appending, FALSE)
DEFXTERN (struct cal_st, *CalibrationList, NULL)
DEFXTERN (ULONG, Channel, 1L)
DEFXTERN (BOOLEAN, CombinePlots, FALSE)
DEFXTERN (BOOLEAN, Db, FALSE)
DEFXTERN (ULONG, Frames, ULONG_MAX)
DEFXTERN (BOOLEAN, Header, TRUE)
DEFXTERN (BOOLEAN, Hidden3D, TRUE)
DEFXTERN (double, HighFrequency, HIGHEST_FREQUENCY)
DEFXTERN (double, HighY, HIGHEST_Y)
DEFXTERN (BOOLEAN, IgnoreFormat, FALSE)
DEFXTERN (IOFormatS, InputFormat, INPUT_FORMAT_DEFAULTS)
DEFXTERN (ULONG, Interleave, 1)
DEFXTERN (BOOLEAN, LogX, FALSE)
DEFXTERN (BOOLEAN, LogY, FALSE)
DEFXTERN (double, LowFrequency, LOWEST_FREQUENCY)
DEFXTERN (double, LowY, LOWEST_Y)
DEFXTERN (ULONG, Key, 0)
DEFXTERN (BOOLEAN, Mean, TRUE)
DEFXTERN (double, Multiply, 1.0L)
DEFXTERN (long, NumberBins, MAX_BINS)
DEFXTERN (BOOLEAN, Numerical, FALSE)
DEFXTERN (ULONG, Octave, 1L)
DEFXTERN (BOOLEAN, OneShotOnly, FALSE)
DEFXTERN (IOFormatS, OutputFormat, OUTPUT_FORMAT_DEFAULTS)
DEFXTERN (BOOLEAN, Overlap, TRUE)
DEFXTERN (BOOLEAN, Pad, FALSE)
DEFXTERN (BOOLEAN, Parseval, TRUE)
DEFXTERN (BOOLEAN, Pink, FALSE)
DEFXTERN (int, Plot, NO_PLOT)
DEFXTERN (struct list_st *, PlotCommands, NULL)
DEFXTERN (char, *PlotOutput, NULL)
DEFXTERN (BOOLEAN, Power, FALSE)
DEFXTERN (BOOLEAN, PSDensity, FALSE)
DEFXTERN (double, Quantization, MIN_QUANTIZATION)
DEFXTERN (BOOLEAN, Quiet, FALSE)
DEFXTERN (double, Rate, AUTO_RATE)
DEFXTERN (double, RotX, DEF_ROT_X)
DEFXTERN (double, RotZ, DEF_ROT_Z)
DEFXTERN (char, *ReadName, NULL)
DEFXTERN (FILE, *ReadPtr, NULL)
DEFXTERN (BOOLEAN, RepeatOnly, FALSE)
DEFXTERN (BOOLEAN, SaveMemory, FALSE)
DEFXTERN (long, SmoothingSegments, NO_SMOOTHING)
DEFXTERN (long, SquaredSmoothing, FALSE)
DEFXTERN (ULONG, StartByte, 0)
DEFXTERN (ULONG, StartFrame, 0)
DEFXTERN (ULONG, StopByte, ULONG_MAX)
DEFXTERN (char, *Terminal, NULL)
DEFXTERN (BOOLEAN, Time3D, FALSE)
DEFXTERN (long, TimeOffset, NOT_SET)
DEFXTERN (double, TimeOverlap, DEFAULT_TIME_OVERLAP)
DEFXTERN (long, TimeSegments, NOT_SET)
DEFXTERN (long, TimeSegSize, NOT_SET)
DEFXTERN (BOOLEAN, Topaz, FALSE)
DEFXTERN (int, WindowType, RECTANGLE_WINDOW)
DEFXTERN (char, *WriteName, NULL)
DEFXTERN (FILE, *WritePtr, NULL)
/*
* These options are set by formatted files
*/
DEFXTERN (int, FileFormat, UNFORMATTED)
DEFXTERN (int, FileFormatOK, FALSE)
DEFXTERN (double, FileRate, AUTO_RATE)
DEFXTERN (ULONG, FileDataOffset, 0)
DEFXTERN (ULONG, FileFrames, 0)
DEFXTERN (double, FileVolume, 1.0L)
DEFXTERN (int, FileChannels, 1)
DEFXTERN (ULONG, FileOneShotHiFrames, 0)
DEFXTERN (ULONG, FileRepeatHiFrames, 0)
DEFXTERN (int, FileOctaves, 1)
/*
* When the OK module gains control, it decides to use the following
*/
DEFXTERN (double, OkRate, AUTO_RATE)
DEFXTERN (ULONG, OkFrames, ULONG_MAX)
DEFXTERN (ULONG, OkOffset, 0)
DEFXTERN (int, OkChannels, 1)
DEFXTERN (ULONG, OkStartFrame, 0)
DEFXTERN (int, OkOctaveOffset, 0)
DEFXTERN (double, OkSegmentTime, 0.0)
DEFXTERN (char, *OkWriteName, NULL)